package com.back.vo;

import io.jsonwebtoken.Claims;
import lombok.Data;

/**
 * 保存 JWT 对应存储的数据
 */
@Data
public class JwtVo {
    // 保存用户 ID
    private Long id;
    // 保存用户名
    private String name;
    // 保存用户手机号
    private String email;
    // 保存的用户角色
    private String role;
    // 保存 JWT 创建时间戳
    private Long time;

    public static JwtVo fromClaims(Claims claims) {
        JwtVo jwtVo = new JwtVo();
        jwtVo.setId(Long.valueOf(claims.get("id").toString()));
        jwtVo.setName(claims.get("name").toString());
        jwtVo.setEmail(claims.get("email").toString());
        jwtVo.setTime(Long.valueOf(claims.get("time").toString()));
        jwtVo.setRole(claims.get("role").toString());
        return jwtVo;
    }
}
